package org.edu.modules.research.rbase.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.edu.common.base.BaseEntity;
import java.sql.Timestamp;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;
import java.util.Date;

/**
 * entity-教科研人员表（总表）
 */
@TableName
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="教科研人员表（总表）对象", description="ve_jky_user")
public class VeJkyUser extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableField
    @ApiModelProperty(value = "用户id(公共数据表)")
    private String userId;

    @TableField
    @ApiModelProperty(value = "科研方向")
    @Length(max = 255)
    private String direction;

    @TableField
    @ApiModelProperty(value = "个人简介")
    @Length(max = 300)
    private String resume;

    @TableField
    @ApiModelProperty(value = "专业（调用系统专业基础数据）")
    private Integer specId;

    @TableField
    @ApiModelProperty(value = "职称")
    @Length(max = 20)
    private String proCall;

    @TableField
    @ApiModelProperty(value = "姓名")
    @Length(max = 20)
    private String realname;

    @TableField
    @ApiModelProperty(value = "身份证号")
    @Length(max = 20)
    private String idCard;

    @TableField
    @ApiModelProperty(value = "性别码1，男2女")
    private Integer sexNum;

    @TableField
    @ApiModelProperty(value = "学历")
    @Length(max = 11)
    private String educate;

    @TableField
    @ApiModelProperty(value = "毕业院校")
    @Length(max = 60)
    private String graCollege;

    @TableField
    @ApiModelProperty(value = "联系电话")
    @Length(max = 30)
    private String phone;

    @TableField
    @ApiModelProperty(value = "主持参与、承担、过的项目和所获得成果")
    @Length(max = 300)
    private String joinGain;

    @TableField
    @ApiModelProperty(value = "公开出版著作及论文")
    @Length(max = 300)
    private String selfWriting;

    @TableField
    @ApiModelProperty(value = "人员类型（1校内，2校外）")
    private Integer typeNum;

    @TableField
    @ApiModelProperty(value = "出生日期")
    @JsonFormat(timezone="GMT+8",locale="zh",  pattern="yyyy-MM-dd")
    private Date birthday;

    @TableField
    @ApiModelProperty(value = "年龄")
    private Integer age;


    @TableField
    @ApiModelProperty(value = "部门")
    private String depart;

    @TableField
    @ApiModelProperty(value = "工号")
    private String workNum;
}
